// Copyright 2014 Thomas Müller
// This file is part of HMMLA, which is licensed under GPLv3.
package hmmla.hmm;
import hmmla.Properties;
import java.security.InvalidParameterException;
public class HmmTrainerFactory {
public static HmmTrainer getTrainer(Properties props) {
String trainer_name = props.getHmmTrainer().toLowerCase();
double delta_t = 1e-4;
double delta_e = 1e-8;
if (trainer_name.equalsIgnoreCase("simplehmmtrainer")) {
return new SimpleHmmTrainer(delta_t, delta_e);
} else if (trainer_name.equalsIgnoreCase("signaturehmmtrainer")) {
return new SignatureHmmTrainer(delta_t, delta_e);
} else {
throw new InvalidParameterException("Unknown trainer name: "
+ trainer_name);
}
}
}